package Store

type InitStorage interface {
	Init()
}
type CreateStorage interface {
	Create()
}
type DropStorage interface {
	Drop(table string) (err error)
}
type OpenStorage interface {
	Open(arg ...string) (err error)
}
type CloseStorage interface {
	Close() (err error)
}
type QueryStorage interface {
	Query(table string, key string) (result map[string]string, err error)
}
type InsertStorage interface {
	Insert(query string, updates map[string]string) (err error)
}
type UpdateStorage interface {
	Update(query string,updates map[string]string) (err error)
}
type DeleteStorage interface {
	Delete()
}
type TruncateStorage interface {
	Truncate(query string) (err error)
}
type SyncStorage interface {
	Sync(query string) (err error)
}
type MetaDataStorage interface {
	MetaData()
}
type BaseDirInitStorage interface {
	BaseDirInitStorage() (err error)
}
type StorageEr interface {
	InitStorage
	BaseDirInitStorage
	CreateStorage
	DropStorage
	OpenStorage
	CloseStorage
	QueryStorage
	InsertStorage
	UpdateStorage
	DeleteStorage
	TruncateStorage
	SyncStorage
	MetaDataStorage
}

func NewStorage(object StorageEr) StorageEr {
	object.Init()
	return object
}
